/**
 * @properties={typeid:35,uuid:"458FA7A1-C1D5-4A81-9D38-9E31C6EE03E2",variableType:-4}
 */
var $NOMBRE_SERVIDOR = globals.$NOMBRE_SERVIDOR;

/**
 * @type {String}
 *
 * @properties={typeid:35,uuid:"3386AA88-83AD-4A5F-BEA1-CEF1ADCE6678"}
 */
var $NOMBRE_TABLA = "adm_t900_tablas";

/**
 * @type {String}
 *
 * @properties={typeid:35,uuid:"F0A97908-CA58-46BB-A26D-9434416AFDE7"}
 */
var $DATA_SOURCE = "db:/" + $NOMBRE_SERVIDOR + "/" + $NOMBRE_TABLA;

/**
 * @properties={typeid:24,uuid:"8AB722C3-8A65-4FB5-9FB1-DC9E5801F38A"}
 * @AllowToRunInFind
 */
function refrescar_tablas(){

	/** @type {JSFoundSet<db:/pigeon_board/adm_t900_tablas>} */
	var fs_adm_t900_tablas = databaseManager.getFoundSet($DATA_SOURCE);
	
	var tablas = databaseManager.getTableNames(globals.$NOMBRE_SERVIDOR);
	
	// Comprobamos si falta alguna tabla
	fs_adm_t900_tablas.loadAllRecords();
	for (var x = 0; x < tablas.length; x++){
		if (fs_adm_t900_tablas.find()){
			fs_adm_t900_tablas.s_nombre_tabla = tablas[x];
			fs_adm_t900_tablas.search();
		}
		if (fs_adm_t900_tablas.getSize() == 0){
			fs_adm_t900_tablas.newRecord();
			fs_adm_t900_tablas.s_descripcion = tablas[x];
			databaseManager.saveData(fs_adm_t900_tablas);
		}
	}
	
	// Comprobamos si hay alguna tabla que ya no existe
	fs_adm_t900_tablas.loadAllRecords();
	var ds = databaseManager.convertToDataSet(fs_adm_t900_tablas, ['s_nombre_tabla']);
	for (x = 0; x < ds.getMaxRowIndex(); x++ ){
		if (tablas.indexOf(ds.getValue(x + 1, 1)) == -1){
			if (fs_adm_t900_tablas.find()){
				fs_adm_t900_tablas.s_nombre_tabla = ds.getValue(x + 1,1);
				fs_adm_t900_tablas.search();
			}
			fs_adm_t900_tablas.deleteRecord(1);
		}
	}
}
